import 'dart:convert';

import 'package:safetymonitor/generated/json/app_upgrade_entity.g.dart';
import 'package:safetymonitor/generated/json/base/json_field.dart';

export 'package:safetymonitor/generated/json/app_upgrade_entity.g.dart';

@JsonSerializable()
class AppUpgradeEntity {

  AppUpgradeEntity();

  factory AppUpgradeEntity.fromJson(Map<String, dynamic> json) => $AppUpgradeEntityFromJson(json);
  /// 升级日志，描述此次更新的主要内容
  late String upgradeDescription = '';

  /// 是否强制升级，1 表示强制升级，2 表示不强制升级
  late int isForceUpgrade = 0;

  /// 客户端类型，例如：1 android，2 ios
  late int clientType = 0;

  /// 下载链接，指向新版本 APK 或者安装包的 URL
  late String downloadAddress = '';

  /// 版本号，通常为一个递增的数字或者语义化版本号
  late String appVersion = '';

  /// 包大小，以人类可读的格式表示，例如 "12.3 MB"
  late String packageSize = '';

  /// 最低兼容版本，指明此更新后客户端至少需要哪个版本才能继续运行
  late String minCompatibleVersion = '';

  String? apkAddress = '';

  Map<String, dynamic> toJson() => $AppUpgradeEntityToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}
